---
title: SAIF.Application.Claim.Legal business rules
summary: Enumerated business rules with per-rule trigger, enforcement, and outcomes for the Legal-claim application (AppManager) tier.
status: draft
owner: SAIF Documentation Pipeline
last_reviewed: 2026-08-25
library: SAIF.Application.Claim.Legal
reference_type: embedded
---

# SAIF.Application.Claim.Legal business rules

This page captures business rules enforced by the `SAIF.Application.Claim.Legal` manager classes.

## BR-LGL-001 Admin group bypasses claim-conflict and exposure checks

| Field | Value |
| --- | --- |
| **Statement** | Users in the Legal admin group may view any claim, bypassing conflict/exposure checks. |
| **Trigger** | `OnRetrieve()` evaluates `IsInAdminGroup` (`SecurityPrincipal.IsAuthorized("LNAdmin")`). |
| **Enforcement** | `LegalManagerBase.OnRetrieve` |
| **Outcome** | `m_CanViewClaim = True`; message cleared. |
| **SQL** | [SQL-012](sql/SQL-012-get-legal-case-header.md) |
| **Stored procedure cross-reference** | [pk80001_legalNet.getHeader](procedures/pk80001-legalnet.md) |
| **Source** | `SAIF.Application.Claim.Legal\LegalManagerBase.vb` |

---

## BR-LGL-002 Worker-conflict claims require conflict and exposure access

| Field | Value |
| --- | --- |
| **Statement** | A worker-conflict claim may only be viewed by users with both conflict and exposure access, unless a security override is present. |
| **Trigger** | `ClaimData.IsWorkerConflict` and access checks in `OnRetrieve()`. |
| **Enforcement** | `LegalManagerBase.OnRetrieve` (`HasLegalConflictAccess`, `CheckForSecurityOverride`) |
| **Outcome** | `m_CanViewClaim = False`; `Message = ClaimAppConstants.ERRORCONFIDENTIALCLAIM`. |
| **SQL** | [SQL-012](sql/SQL-012-get-legal-case-header.md) |
| **Stored procedure cross-reference** | [pk80001_legalNet.getHeader](procedures/pk80001-legalnet.md) |
| **Source** | `SAIF.Application.Claim.Legal\LegalManagerBase.vb` |

---

## BR-LGL-003 Exposure-flagged claims require exposure access

| Field | Value |
| --- | --- |
| **Statement** | An exposure-flagged claim may only be viewed by users with exposure access, unless a security override is present. |
| **Trigger** | `ClaimData.IsExposure` in `OnRetrieve()`. |
| **Enforcement** | `LegalManagerBase.OnRetrieve` (`HasLegalExposureAccess`) |
| **Outcome** | `m_CanViewClaim = False`; `Message = ClaimAppConstants.ERRORCONFIDENTIALCLAIM`. |
| **SQL** | [SQL-012](sql/SQL-012-get-legal-case-header.md) |
| **Stored procedure cross-reference** | [pk80001_legalNet.getHeader](procedures/pk80001-legalnet.md) |
| **Source** | `SAIF.Application.Claim.Legal\LegalManagerBase.vb` |

---

## BR-LGL-004 Printing a DEF letter marks the case DEF-sent

| Field | Value |
| --- | --- |
| **Statement** | Printing a Defense Evaluation Form (DEF) letter marks the case as DEF-sent as of today and clears the pending-send flag. |
| **Trigger** | `clsScheduleManager.PrintDEF()` invoked (from Save flow when `sendDEF = True`, or from popup). |
| **Enforcement** | `clsScheduleManager.PrintDEF` |
| **Outcome** | `CurrentCase.DefSentDate = Today`; `SendDefFlag = clsConstants.Yes`; `sendDEF` reset to False. |
| **SQL** | [SQL-001](sql/SQL-001-insert-letter-request.md) |
| **Stored procedure cross-reference** | [pk80001_LEGALNET.insertLetterRequest](procedures/pk80001-legalnet.md) |
| **Source** | `SAIF.Application.Claim.Legal\LegalNet\clsScheduleManager.vb` |

---

## BR-LGL-005 Non-Production DEF email reminders are redirected to the current user

| Field | Value |
| --- | --- |
| **Statement** | Outside of the Production environment, DEF reminder emails are redirected to the current user instead of the real recipient, with the intended recipient noted in the body. |
| **Trigger** | `AppGlobal.EnvironmentService.GetApplicationEnvironment() <> Prod` in `SendDEFEmail`. |
| **Enforcement** | `clsScheduleManager.SendDEFEmail` |
| **Outcome** | Email sent to `DPI.UserID@saif.com` with a body annotation naming the real intended recipient. |
| **SQL** | [SQL-020](sql/SQL-020-get-attorney-manager-email.md) |
| **Stored procedure cross-reference** | [pk80001_LEGALNET.get_atty_mngr_email](procedures/pk80001-legalnet.md) |
| **Source** | `SAIF.Application.Claim.Legal\LegalNet\clsScheduleManager.vb` |

---

## BR-LGL-006 Attorney assignment batch process runs in testing mode outside Production

| Field | Value |
| --- | --- |
| **Statement** | The attorney-assignment batch process runs in a "testing" mode outside of Production. |
| **Trigger** | `clsAssignmentManager.Testing` evaluated at `RunAssignmentProcess()` invocation. |
| **Enforcement** | `clsAssignmentManager.RunAssignmentProcess` / `Testing` property |
| **Outcome** | `clsAssignmentProcess` is constructed with `Testing = True` in non-Prod, altering its (business-layer) behavior. |
| **Source** | `SAIF.Application.Claim.Legal\LegalNet\clsAssignmentManager.vb` |

---

## BR-LGL-007 Hearing schedule sync to Guidewire requires an assigned attorney

| Field | Value |
| --- | --- |
| **Statement** | A hearing schedule is only synchronized to Guidewire as a matter if an attorney is currently assigned. |
| **Trigger** | `req.saifAttorneyName <> ""` check before calling the Guidewire API. |
| **Enforcement** | `clsScheduleManager.SendDataToGw` / `clsAssignmentManager.SendDataToGw` |
| **Outcome** | Guidewire `RetrieveWithBody` call is skipped when no attorney is assigned; no matter is created/updated. |
| **Source** | `SAIF.Application.Claim.Legal\LegalNet\clsScheduleManager.vb`, `SAIF.Application.Claim.Legal\LegalNet\clsAssignmentManager.vb` |

---

## BR-LGL-008 Guidewire and WCD integration failures never fail the case save

| Field | Value |
| --- | --- |
| **Statement** | Failures calling out to Guidewire (matter, activity, WCD-number sync) are logged but never fail the underlying case save. |
| **Trigger** | Any exception raised by `client.DataAccessLayer.ProcessRequest`. |
| **Enforcement** | `clsScheduleManager.SendDataToGw`/`CreateScheduleActivity`; `clsAssignmentManager.SendDataToGw`/`CreateScheduleActivity`; `clsRequestManager.UpdateWcdData` |
| **Outcome** | Exception caught, `Logging.clsLogError.CreateError(ex)` recorded; `OnWrite`/save flow continues and reports success to the user. |
| **Source** | `SAIF.Application.Claim.Legal\LegalNet\clsScheduleManager.vb`, `SAIF.Application.Claim.Legal\LegalNet\clsAssignmentManager.vb`, `SAIF.Application.Claim.Legal\LegalNet\clsRequestManager.vb` |

---

## BR-LGL-009 Worker-attorney firm change creates a system audit case note

| Field | Value |
| --- | --- |
| **Statement** | Changing the worker-attorney firm on a case creates a system audit case note recording the old and new firm names. |
| **Trigger** | `OldFirmId <> CurrentCase.WorkerAttorneyFirmID` at save time, on an existing (non-new) case. |
| **Enforcement** | `clsRequestManager.OnWrite` → `CreateFirmChangedCaseNote` |
| **Outcome** | A `clsCaseNote` with `CategoryCode = "RFH"`, `CreateUser = "SYSTEM"` is added and saved. |
| **Source** | `SAIF.Application.Claim.Legal\LegalNet\clsRequestManager.vb` |

---

## BR-LGL-010 Worker attorney change creates a system audit case note

| Field | Value |
| --- | --- |
| **Statement** | Changing the worker attorney on a case creates a system audit case note recording the old and new attorney names. |
| **Trigger** | `OldAttorneyId <> CurrentCase.WorkerAttorneyID` at save time, on an existing case. |
| **Enforcement** | `clsRequestManager.OnWrite` → `CreateAttorneyChangedCaseNote` |
| **Outcome** | A `clsCaseNote` with `CategoryCode = "RFH"`, `CreateUser = "SYSTEM"` is added and saved. |
| **Source** | `SAIF.Application.Claim.Legal\LegalNet\clsRequestManager.vb` |

---

## BR-LGL-011 Consolidation is rejected when a hearing is scheduled in the past for a Set Reset case

| Field | Value |
| --- | --- |
| **Statement** | A consolidation change is rejected with a user-facing message if it would consolidate a case whose most recent hearing is scheduled in the past while in Set/Reset status. |
| **Trigger** | `CurrentCase.Consolidations.ConsolidateCases(DPI)` throws with message containing "Schedule date must be in the future". |
| **Enforcement** | `clsRequestManager.OnWrite` |
| **Outcome** | `AppendMessage("Error: One or more hearing rows are in 'Set' or 'Reset' status and scheduled in the past")` (message excerpt); save returns `False`; other exception messages are rethrown unhandled. |
| **Source** | `SAIF.Application.Claim.Legal\LegalNet\clsRequestManager.vb` |

---

## BR-LGL-012 Secondary consolidated cases mirror the primary case state

| Field | Value |
| --- | --- |
| **Statement** | Secondary (non-primary) consolidated cases mirror the primary case's status, LCE excusal/transfer state, file location, and DEF-sent flag. |
| **Trigger** | Save of the primary case triggers `updateConsolFileLocation`, `updateConsolLCE`, `UpdateConsolCaseStatus`, `UpdateConsolDEFFLag`. |
| **Enforcement** | `LegalManagerBase` (four methods) |
| **Outcome** | Each secondary `clsLegalCase` is updated and saved to match the primary case's corresponding state. |
| **Source** | `SAIF.Application.Claim.Legal\LegalManagerBase.vb` |

---

## BR-LGL-013 Case note deletion is restricted by role and note origin

| Field | Value |
| --- | --- |
| **Statement** | A case note can only be deleted by users in the case-update/admin group, unless it is a bill note (`DOCCO`), which any authorized bill-note updater may delete; notes created by `"SYSTEM"` can never be deleted. |
| **Trigger** | `DeleteNote()` invoked. |
| **Enforcement** | `clsCaseNotesManager.DeleteNote` |
| **Outcome** | Deletion blocked with an error message when the caller lacks the required role or the note is system-created. |
| **Source** | `SAIF.Application.Claim.Legal\LegalNet\clsCaseNotesManager.vb` |

---

## BR-LGL-014 Case note view update access is restricted by security key

| Field | Value |
| --- | --- |
| **Statement** | Only users with the `LNNoteView`/`LNUpdate` security keys can view/update notes in the corresponding capacity; users in the admin or case-update groups can update any note. |
| **Trigger** | `IsInNoteView`, `CanUpdateBillNotes`, `CanUpdateAnyNote` property evaluation. |
| **Enforcement** | `clsCaseNotesManager` (`IsInNoteView`, `CanUpdateBillNotes`, `CanUpdateAnyNote`) |
| **Outcome** | Note `CanUpdate`/`CanUpdateText` flags are set accordingly when notes are loaded/created. |
| **Source** | `SAIF.Application.Claim.Legal\LegalNet\clsCaseNotesManager.vb` |

---

## BR-LGL-015 A hearing location cannot be deleted while in use

| Field | Value |
| --- | --- |
| **Statement** | A hearing location can only be deleted if it is not currently in use (per business-layer check). |
| **Trigger** | `DeleteLocation()` invoked. |
| **Enforcement** | `clsHearingLocationManager.DeleteLocation` (delegates the "in-use" check to `clsHearingLocation.CanDeleteLocation`, a referenced-library method) |
| **Outcome** | Deletion is blocked with `"Error: this location is in use and cannot be deleted."` when the check fails. |
| **Source** | `SAIF.Application.Claim.Legal\clsHearingLocationManager.vb` |

---

## BR-LGL-016 A legal person cannot be deleted while in use

| Field | Value |
| --- | --- |
| **Statement** | A legal person can only be deleted if not currently in use (per business-layer check). |
| **Trigger** | `DeletePerson()` invoked. |
| **Enforcement** | `clsLegalPersonManager.DeletePerson` (delegates to `clsLegalPerson.CanDeleteLegalPerson`, referenced library) |
| **Outcome** | Deletion blocked with `"Error: This person is in use, and cannot be deleted."` when the check fails. |
| **Source** | `SAIF.Application.Claim.Legal\clsLegalPersonManager.vb` |

---

## BR-LGL-017 A schedule row can only be deleted while Cancelled

| Field | Value |
| --- | --- |
| **Statement** | A schedule row can only be deleted while in Cancelled status. |
| **Trigger** | `DeleteSchedule()` invoked. |
| **Enforcement** | `clsScheduleManager.DeleteSchedule` |
| **Outcome** | Deletion blocked with `"Error: Cancel the event and save, before deleting a schedule row"` otherwise. |
| **Source** | `SAIF.Application.Claim.Legal\LegalNet\clsScheduleManager.vb` |

---

## Inherited business rules

Rules in this section originate from `clsBusinessBase` (`SAIF.Framework.Core`), the framework base class every concrete manager inherits transitively (via `AppManagerBase`/`ClaimAppManager`), and from `clsLegalData`'s direct `clsBusinessBase` inheritance. They are enforced by inherited framework behavior, not by code in this library. No direct evidence in this library's own source shows these inherited members being invoked; managers instead rely on `LegalManagerBase`'s own parallel lifecycle contract*.

## INH-001 Business rules are registered and enforced through clsRulesManager

| Field | Value |
| --- | --- |
| **Statement** | A `clsBusinessBase`-derived object uses `Rules.CheckRules("RuleName")` to invoke registered rule handlers, which consuming classes register as delegates typically marked with a `RuleData` attribute providing the broken-rule message and rule type.† |
| **Trigger** | A rule-evaluation call site (e.g., during `Save()`/edit-session processing) invokes `Rules.CheckRules("RuleName")` on the inherited `Rules` (`clsRulesManager`) property.† |
| **Enforcement** | `clsBusinessBase.Rules` (`clsRulesManager`), inherited by every concrete manager and by `clsLegalData`. |
| **Outcome** | Registered rule handlers run and broken-rule state is recorded on the owning object.† |
| **Origin** | `SAIF.Framework.Core` — `clsBusinessBase` |
| **Source** | Retrieved from indexed documentation via Legends CLI |

---

## INH-002 Broken rules are tracked when a registered rule fails

| Field | Value |
| --- | --- |
| **Statement** | If a registered rule fails, the object records broken-rule state in its rules/broken-rule collection.† |
| **Trigger** | A registered rule handler returns a failed/broken result during rule evaluation.† |
| **Enforcement** | `clsBusinessBase.Rules` (`clsRulesManager`) broken-rule tracking, inherited by every concrete manager and by `clsLegalData`. |
| **Outcome** | The broken-rule collection is updated to reflect the failed rule.† |
| **Origin** | `SAIF.Framework.Core` — `clsBusinessBase` |
| **Source** | Retrieved from indexed documentation via Legends CLI |

---

## INH-003 Broken rules are surfaced to data-bound UI via IDataErrorInfo

| Field | Value |
| --- | --- |
| **Statement** | `clsBusinessBase` implements `IDataErrorInfo`, so broken rules recorded by the rules engine can be surfaced to data-bound UI controls via the inherited `Error`/`Item` members.† |
| **Trigger** | A UI data-binding consumer reads the inherited `Error` property or `Item(columnName)` indexer on a manager instance or `clsLegalData`.† |
| **Enforcement** | `clsBusinessBase.Error` / `clsBusinessBase.Item(columnName)` (`IDataErrorInfo`), inherited by every concrete manager and by `clsLegalData`. |
| **Outcome** | The broken-rule message(s) for the object (or column) are returned to the caller/UI.† |
| **Origin** | `SAIF.Framework.Core` — `clsBusinessBase` |
| **Source** | Retrieved from indexed documentation via Legends CLI |

---

## Stored procedure business rules

The following rules are extracted from retrieved Oracle source for `WCIS_DBA.Pk80001_Legalnet` and apply to this library's package calls.

| Rule ID | Procedure |
| --- | --- |
| [BR-LGL-018](#br-lgl-018-letter-requests-use-a-database-sequence-and-server-timestamp) | [insertLetterRequest](procedures/pk80001-legalnet.md#insertletterrequest) |
| [BR-LGL-019](#br-lgl-019-manager-email-lookup-falls-back-from-assigned-attorney-to-outside-counsel) | [get_atty_mngr_email](procedures/pk80001-legalnet.md#get_atty_mngr_email) |
| [BR-LGL-020](#br-lgl-020-header-case-number-prefers-wcb-then-dcbs-owcp-oalj-and-brb) | [getHeader inferred mapping](procedures/pk80001-legalnet.md#getheader-inferred-mapping) |
| [BR-LGL-021](#br-lgl-021-header-attorney-display-prefers-appeal-attorney-then-hearing-attorney-then-outside-counsel) | [getHeader inferred mapping](procedures/pk80001-legalnet.md#getheader-inferred-mapping) |
| [BR-LGL-022](#br-lgl-022-header-hearing-date-uses-the-latest-hearing-and-consolidation-context) | [getHeader inferred mapping](procedures/pk80001-legalnet.md#getheader-inferred-mapping) |

## BR-LGL-018 Letter requests use a database sequence and server timestamp

| Field | Value |
| --- | --- |
| **Statement** | Each `insertLetterRequest` call allocates `LETTER_REQUEST_SEQ.NEXTVAL` and stamps `CREATE_DATE = SYSDATE` when it writes the new `LETTER_REQUEST` row. |
| **Trigger** | `LegalManagerBase.insertLetterRequest` is executed from the DEF-letter or recon-request flows. |
| **Enforcement** | `pk80001_legalnet.insertLetterRequest` |
| **Outcome** | The caller receives the generated request sequence in `requestNum`; the database row is created with Oracle server timestamping. |
| **SQL** | [SQL-001](sql/SQL-001-insert-letter-request.md) |
| **Stored procedure cross-reference** | [insertLetterRequest](procedures/pk80001-legalnet.md#insertletterrequest) |
| **Source** | Oracle retrieval `C:\Users\chrfre\AppData\Local\Temp\oracle-sources\pk80001_legalnet.json`; `SAIF.Application.Claim.Legal\LegalManagerBase.vb` |

---

## BR-LGL-019 Manager email lookup falls back from assigned attorney to outside counsel

| Field | Value |
| --- | --- |
| **Statement** | `get_atty_mngr_email` first resolves the manager email for the attorney assigned to the case's most recent hearing; if no row is found, it retries with the `OUTSIDECNCL` profile when an outside-firm assignment exists, and otherwise returns `NONE`. |
| **Trigger** | `clsScheduleManager.SendDEFEmail` calls `getAttyMngrEmail(CurrentCaseID)`. |
| **Enforcement** | `pk80001_legalnet.get_atty_mngr_email` |
| **Outcome** | The DEF reminder flow receives a resolved manager email address or the sentinel value `NONE`. |
| **SQL** | [SQL-020](sql/SQL-020-get-attorney-manager-email.md) |
| **Stored procedure cross-reference** | [get_atty_mngr_email](procedures/pk80001-legalnet.md#get_atty_mngr_email) |
| **Source** | Oracle retrieval `C:\Users\chrfre\AppData\Local\Temp\oracle-sources\pk80001_legalnet.json`; `SAIF.Application.Claim.Legal\LegalNet\clsScheduleManager.vb` |

---

## BR-LGL-020 Header case number prefers WCB then DCBS OWCP OALJ and BRB

| Field | Value |
| --- | --- |
| **Statement** | Header case-number selection prefers `WCB_NUM`, then `DCBS_NUM`, `OWCP_NUM`, `OALJ_NUM`, and finally `BRB_NUM` when earlier identifiers are null* |
| **Trigger** | `clsLegalData.New` invokes `pk80001_legalNet.getHeader`; the retrieved package exposes the matching identifier-selection logic through `get_case_num`* |
| **Enforcement** | `pk80001_legalnet.get_case_num` |
| **Outcome** | The header display uses the first populated identifier in that precedence order* |
| **SQL** | [SQL-012](sql/SQL-012-get-legal-case-header.md) |
| **Stored procedure cross-reference** | [getHeader inferred mapping](procedures/pk80001-legalnet.md#getheader-inferred-mapping) |
| **Source** | Oracle retrieval `C:\Users\chrfre\AppData\Local\Temp\oracle-sources\pk80001_legalnet.json`; `SAIF.Application.Claim.Legal\clsLegalData.vb` |

---

## BR-LGL-021 Header attorney display prefers appeal attorney then hearing attorney then outside counsel

| Field | Value |
| --- | --- |
| **Statement** | Header attorney display prefers the latest appeal attorney, then the most recent hearing's assigned attorney, and finally the outside counsel firm name* |
| **Trigger** | `clsLegalData.New` invokes `pk80001_legalNet.getHeader`; the retrieved package exposes the matching attorney-selection logic through `get_asgn_atty`* |
| **Enforcement** | `pk80001_legalnet.get_asgn_atty` |
| **Outcome** | The header attorney value is populated from the first available source in that order* |
| **SQL** | [SQL-012](sql/SQL-012-get-legal-case-header.md) |
| **Stored procedure cross-reference** | [getHeader inferred mapping](procedures/pk80001-legalnet.md#getheader-inferred-mapping) |
| **Source** | Oracle retrieval `C:\Users\chrfre\AppData\Local\Temp\oracle-sources\pk80001_legalnet.json`; `SAIF.Application.Claim.Legal\clsLegalData.vb` |

---

## BR-LGL-022 Header hearing date uses the latest hearing and consolidation context

| Field | Value |
| --- | --- |
| **Statement** | Header hearing-date selection uses the latest hearing schedule and can resolve through consolidated-case hearing associations when present* |
| **Trigger** | `clsLegalData.New` invokes `pk80001_legalNet.getHeader`; the retrieved package exposes the matching hearing-date logic through `get_hearing_date`* |
| **Enforcement** | `pk80001_legalnet.get_hearing_date` |
| **Outcome** | The header hearing-date value is set from the latest applicable hearing date for the case or its consolidated primary-case context* |
| **SQL** | [SQL-012](sql/SQL-012-get-legal-case-header.md) |
| **Stored procedure cross-reference** | [getHeader inferred mapping](procedures/pk80001-legalnet.md#getheader-inferred-mapping) |
| **Source** | Oracle retrieval `C:\Users\chrfre\AppData\Local\Temp\oracle-sources\pk80001_legalnet.json`; `SAIF.Application.Claim.Legal\clsLegalData.vb` |

## Notes
- [BR-LGL-006](#br-lgl-006-attorney-assignment-batch-process-runs-in-testing-mode-outside-production) through [BR-LGL-012](#br-lgl-012-secondary-consolidated-cases-mirror-the-primary-case-state) and [BR-LGL-015](#br-lgl-015-a-hearing-location-cannot-be-deleted-while-in-use)/[BR-LGL-016](#br-lgl-016-a-legal-person-cannot-be-deleted-while-in-use) ultimately delegate their underlying enforcement (batch-assignment algorithm, Guidewire matter/activity payload construction, consolidation validation, location/person in-use checks) to business-layer objects in `SAIF.Business.Claim.Legal`; the statements above describe only the Application-layer trigger/outcome contract observed in this library, not the business-layer implementation.
- Three application-layer SQL statements (`SQL-019`, `SQL-020`, `SQL-024`) build query text via runtime string concatenation instead of Oracle bind variables; this is a data-access implementation detail, not a separate business rule, and is tracked in [Dependencies](dependencies.md).
- Mark inferred statements with `*` and unknown statements with `**`. Do not use bold inline confidence labels.
- Statements marked with `†` were retrieved from dependency library documentation via the Legends CLI RAG service.

## Related documentation
- [Index](index.md)
- [Overview](overview.md)
- [Architecture](architecture.md)
- [Dependencies](dependencies.md)
- [Operations and processes](operations-processes.md)
- [Database tables](database-tables.md)
- [SQL catalog](sql/index.md)
- [API reference](api/index.md)

> **Note:** Statements marked with `†` are derived from dependency library
> documentation via the Legends CLI. Statements marked with `*` were inferred
> from code structure or contextual evidence.

## Sources
- Oracle source retrieval: `C:\Users\chrfre\AppData\Local\Temp\oracle-sources\pk80001_legalnet.json`
- `SAIF.Application.Claim.Legal\LegalManagerBase.vb`
- `SAIF.Application.Claim.Legal\clsLegalData.vb`
- `SAIF.Application.Claim.Legal\clsHearingLocationManager.vb`
- `SAIF.Application.Claim.Legal\clsLegalPersonManager.vb`
- `SAIF.Application.Claim.Legal\LegalNet\clsScheduleManager.vb`
- `SAIF.Application.Claim.Legal\LegalNet\clsAssignmentManager.vb`
- `SAIF.Application.Claim.Legal\LegalNet\clsRequestManager.vb`
- `SAIF.Application.Claim.Legal\LegalNet\clsCaseNotesManager.vb`
